package com.zjff.mobiletwo.service;


import com.zjff.mobiletwo.tool.KoDoTool;
import jakarta.annotation.Resource;
import org.springframework.beans.factory.annotation.Value;
import org.springframework.stereotype.Component;
import org.springframework.web.multipart.MultipartFile;

import java.io.File;
import java.util.UUID;

@Component
public class FileService {//文件操作服务
    @Resource
    KoDoTool koDoTool;

    @Value("${project.localfilepath}")
    private String LocalFilePath;
    /**
     * 上传文件到本地
     * @param multipartFile 文件
     * @return String -本地文件路径
     */
    public String AddFileToLocal(MultipartFile multipartFile){
        String suffixName = multipartFile.getOriginalFilename().substring(multipartFile.getOriginalFilename().lastIndexOf("."));
        String fileNewName = UUID.randomUUID().toString() + suffixName;//生成新的文件名
        String folderName=suffixName.substring(1,suffixName.length());
        String allFileNamePath=LocalFilePath +folderName+"/"+ fileNewName;//本地保存的全部路径
        File dest = new File(allFileNamePath);
        if (!dest.getParentFile().exists()) { //判断文件是否存在
            dest.getParentFile().mkdirs();
        }
        try {
            multipartFile.transferTo(dest);
            return allFileNamePath;
        } catch (Exception e) {
            e.printStackTrace();
            return "error";
        }

    }

    /**
     * 上传文件到KoDo
     * @param filePath 文件路径
     * @return String -KoDo文件路径
     */
    public String AddFileToKoDo(String filePath){
        try{
           return koDoTool.UploadFile(filePath);
        }catch (Exception e){

            return "error";
        }
    }

}
